package org.springblade.mach.service;

import org.springblade.core.mp.base.BaseService;
import org.springblade.core.tool.api.R;
import org.springblade.mach.entity.DrawingAttachApproval;
import org.springblade.modules.resource.vo.AttachVO;

import java.util.List;

public interface IDrawingAttachApprovalService extends BaseService<DrawingAttachApproval> {

	/**
	 * 新增图纸附件审批
	 * @param drawingAttachApproval
	 * @return
	 */
	Boolean handleDrawingAttachApproval(DrawingAttachApproval drawingAttachApproval);

	/**
	 * 获取图纸审批详情
	 * @param drawingAttachApproval
	 * @return
	 */
	DrawingAttachApproval getDrawingAttachApproval(DrawingAttachApproval drawingAttachApproval);

	/**
	 * 获取历史审批列表
	 * @param drawingUploadId
	 * @param taskDefinitionKey
	 * @return
	 */
	List<DrawingAttachApproval> findHistoryApprovalList(Long drawingUploadId, String taskDefinitionKey);

	/**
	 * 复选同意审核
	 * @param drawingAttachApprovalList 图纸信息列表
	 * @return 处理结果
	 */
	R approvalDrawingAttachApprovalByBatch(List<DrawingAttachApproval> drawingAttachApprovalList);

	/**
	 * 逻辑删除审核
	 * @param uploadId
	 * @param taskDefinitionKey
	 * @return
	 */
	boolean logicDelApproval(Long uploadId, String taskDefinitionKey);
}
